#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
创建学生信息导入模板
生成Excel格式的导入模板文件
"""

import pandas as pd
from datetime import datetime

def create_import_template():
    # 创建模板数据
    template_data = {
        '姓名': ['张三', '李四', '王五'],
        '年龄': [20, 21, 22],
        '性别': ['男', '女', '男'],
        '年级': ['大一', '大二', '大三'],
        '专业': ['计算机科学', '软件工程', '人工智能'],
        '邮箱': ['zhangsan@example.com', 'lisi@example.com', 'wangwu@example.com'],
        '电话': ['13800138001', '13900139001', '13700137001']
    }
    
    # 创建DataFrame
    df = pd.DataFrame(template_data)
    
    # 添加说明行
    instructions = pd.DataFrame({
        '姓名': ['【说明】'],
        '年龄': ['必填字段，请输入数字'],
        '性别': ['可选：男/女'],
        '年级': ['可选：大一/大二/大三/大四/研究生/博士生'],
        '专业': ['可选：填写专业名称'],
        '邮箱': ['可选：有效的邮箱地址'],
        '电话': ['可选：手机或电话号码']
    })
    
    # 合并数据和说明
    result_df = pd.concat([instructions, df], ignore_index=True)
    
    # 创建Excel写入器
    with pd.ExcelWriter('学生信息导入模板.xlsx', engine='openpyxl') as writer:
        # 写入数据
        result_df.to_excel(writer, sheet_name='学生信息', index=False)
        
        # 获取工作表
        worksheet = writer.sheets['学生信息']
        
        # 设置列宽
        column_widths = [15, 10, 10, 10, 20, 25, 15]
        for i, width in enumerate(column_widths, 1):
            worksheet.column_dimensions[chr(64 + i)].width = width
        
        # 设置第一行样式（说明行）
        from openpyxl.styles import Font, PatternFill
        red_font = Font(color='FF0000', bold=True)
        yellow_fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
        
        for cell in worksheet[1]:
            cell.font = red_font
            cell.fill = yellow_fill
    
    print("✅ 学生信息导入模板已创建: 学生信息导入模板.xlsx")
    print("📋 模板包含示例数据和格式说明")
    print("💡 第一行为说明行，导入时请删除说明行")

if __name__ == '__main__':
    create_import_template()
